home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MOS / RESCTRL.I < prev    next >
Encoding:
Modula Implementation  |  1990-11-10  |  2.2 KB  |  62 lines

  1. IMPLEMENTATION MODULE ResCtrl;
  2. (*$Y+,L-,R-*)
  3.  
  4. FROM SYSTEM IMPORT ASSEMBLER, ADDRESS, ADR, TSIZE, BYTE, WORD, LONGWORD;
  5.  
  6. FROM MOSCtrl IMPORT RemovalRoot, RemovalEntry, GetPDB, PDB;
  7.  
  8. FROM MOSGlobals IMPORT MemArea;
  9.  
  10.  
  11. PROCEDURE CatchRemoval ( VAR hdl: RemovalCarrier; info: PROC; wsp: MemArea );
  12.   BEGIN
  13.     ASSEMBLER
  14.         MOVE.L  -(A3),D2
  15.         MOVE.L  -(A3),D1
  16.         MOVE.L  -(A3),D0
  17.         MOVE.L  -(A3),A0                ; A0: hdl
  18.         MOVE.L  D0,RemovalEntry.call(A0)
  19.         MOVE.L  D1,RemovalEntry.wsp.bottom(A0)
  20.         MOVE.L  D2,RemovalEntry.wsp.length(A0)
  21.         ; hdl.next:= root
  22.         ; hdl.prev:= root.prev
  23.         ; root.prev.next:= hdl
  24.         ; root.prev:= hdl
  25.         LEA     RemovalRoot,A2               ; A2: root
  26.         MOVE.L  A2,RemovalEntry.next(A0)
  27.         MOVE.L  RemovalEntry.prev(A2),A1     ; A1: root.prev
  28.         MOVE.L  A1,RemovalEntry.prev(A0)
  29.         MOVE.L  A0,RemovalEntry.next(A1)
  30.         MOVE.L  A0,RemovalEntry.prev(A2)
  31.     END
  32.   END CatchRemoval;
  33.  
  34. PROCEDURE Resident (): BOOLEAN;
  35.   BEGIN
  36.     ASSEMBLER
  37.         CLR.L   -(A7)
  38.         MOVE.L  A7,(A3)+        ; PtrPBD
  39.         CLR.L   -(A7)
  40.         MOVE.L  A7,(A3)+        ; process
  41.         JSR     GetPDB
  42.         ADDQ.L  #4,A7
  43.         MOVE.L  (A7)+,D0
  44.         BEQ     no
  45.         MOVE.L  D0,A0
  46.         MOVE.W  PDB.resident(A0),(A3)+
  47.         RTS
  48.      no CLR     (A3)+
  49.     END
  50.   END Resident;
  51.  
  52. PROCEDURE Private ( n: CARDINAL; VAR d: ARRAY OF BYTE );
  53.   BEGIN
  54.     ASSEMBLER
  55.         SUBQ.L  #8,A3
  56.     END
  57.   END Private;
  58.  
  59. END ResCtrl.
  60. ə
  61. (* $FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFEE2C3C$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820$FFF3E820Ç$00000031T.......T.......T.......T.......T.......T.......T.......T.......T.......T.......$000000DD$00000078$0000004F$00000025$00000031$FFEE2C3C$FFEE2C3C$FFEE2C3C$00000029$000002F2$00000091$000004E4$0000050A$0000051F$00000540$00000582ñÇÇ*)
  62.